#include <termios.h>
#include <sys/ioctl.h>
#include <stdio.h>
#include <unistd.h>
#include <signal.h>
#include <fcntl.h>
//可以改变终端但改变不了伪终端


struct winsize a = {
    20, 60
};

void change_size(int signo){
    if(signo == SIGWINCH){
        printf("%d %d\n",a.ws_row, a.ws_col);
    }
}

int main(){
    signal(SIGWINCH, change_size);
    sleep(2);
    char* buf = ttyname(STDIN_FILENO);
    printf("%s\n", buf);
    int fd = open(buf, O_RDWR);
    printf("%d\n", fd);
    if(ioctl(fd, TIOCSWINSZ, &a) == -1){
        perror("ioctl()");
    }
    return 0;
}